<html>
<head><meta charset="utf-8"><title>Eagerly construct bodies of THIR compiler-team#409 · t-compiler/major changes · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/index.html">t-compiler/major changes</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html">Eagerly construct bodies of THIR compiler-team#409</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="227291503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227291503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227291503">(Feb 22 2021 at 16:10)</a>:</h4>
<p>A new proposal has been announced: <a href="https://github.com/rust-lang/compiler-team/issues/409">Eagerly construct bodies of THIR #409</a>. It will be announced at the next meeting to try and draw attention to it, but usually MCPs are not discussed during triage meetings. If you think this would benefit from discussion amongst the team, consider proposing a design meeting.</p>



<a name="227292290"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227292290" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nagisa <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227292290">(Feb 22 2021 at 16:15)</a>:</h4>
<p>could the issue list the exhaustive list of motivations known to us. Right now it says that doing so _might_ allow moving unsafety checking to thir.</p>



<a name="227296442"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227296442" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227296442">(Feb 22 2021 at 16:38)</a>:</h4>
<p>I thought the whole point of THIR was to not create a duplicate version of HIR</p>



<a name="227296559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227296559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227296559">(Feb 22 2021 at 16:39)</a>:</h4>
<p>I guess in practice the THIR tree gets constructed anyway so MIR can be built from it</p>



<a name="227296695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227296695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227296695">(Feb 22 2021 at 16:40)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> mentioned peak memory usage as the main point of the current lazy construction</p>



<a name="227296706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227296706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227296706">(Feb 22 2021 at 16:40)</a>:</h4>
<p>I should have written that in</p>



<a name="227409566"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227409566" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227409566">(Feb 23 2021 at 10:35)</a>:</h4>
<p>My initial reaction was "doesn't this actually increase peak memory usage?", because we'd have HIR, THIR and MIR exist fully at the same time, but is what you are saying that we could steal the HIR for THIR and steal the THIR for MIR so each would get dropped asap?</p>



<a name="227578643"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578643" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578643">(Feb 24 2021 at 10:39)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="492">@T-compiler</span>: Proposal <a href="https://github.com/rust-lang/compiler-team/issues/409#issuecomment-784982379">#409</a> has been seconded, and will be approved in 10 days if no objections are raised.</p>



<a name="227578668"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578668" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578668">(Feb 24 2021 at 10:39)</a>:</h4>
<p>whoops, I should have read comments before seconding :)</p>



<a name="227578724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578724">(Feb 24 2021 at 10:40)</a>:</h4>
<p><span class="user-mention" data-user-id="124288">@oli</span> I expect it to potentially increase peak memory usage</p>



<a name="227578767"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578767" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578767">(Feb 24 2021 at 10:40)</a>:</h4>
<p>however</p>



<a name="227578778"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578778" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578778">(Feb 24 2021 at 10:40)</a>:</h4>
<p>we still only keep the THIR for one <em>function</em> at a time</p>



<a name="227578796"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578796" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578796">(Feb 24 2021 at 10:40)</a>:</h4>
<p>I think there is a viable alternative</p>



<a name="227578811"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578811" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578811">(Feb 24 2021 at 10:41)</a>:</h4>
<p>in which, as THIR is constructed, we invoke "callbacks" for things like unsafety check</p>



<a name="227578819"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578819" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578819">(Feb 24 2021 at 10:41)</a>:</h4>
<p>but I'm not a big fan of this approach</p>



<a name="227578847"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227578847" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227578847">(Feb 24 2021 at 10:41)</a>:</h4>
<p>let me edit the MCP a bit to add some details about that</p>



<a name="227579265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227579265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227579265">(Feb 24 2021 at 10:44)</a>:</h4>
<p><span class="user-mention" data-user-id="116122">@simulacrum</span> is there a way to "cancel" a rustbot second?</p>



<a name="227579629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227579629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227579629">(Feb 24 2021 at 10:48)</a>:</h4>
<p>Is peak memory usage measured by "max rss" in rustc-perf?</p>



<a name="227579732"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227579732" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227579732">(Feb 24 2021 at 10:48)</a>:</h4>
<p>I'm working on an implementation, so I'll try to make available for a perf run as soon as possible</p>



<a name="227579968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227579968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227579968">(Feb 24 2021 at 10:50)</a>:</h4>
<p>I added a FAQ to the document</p>



<a name="227579974"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227579974" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227579974">(Feb 24 2021 at 10:50)</a>:</h4>
<p><span class="user-mention silent" data-user-id="255061">Léo Lanteri Thauvin</span> <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409/near/227579629">said</a>:</p>
<blockquote>
<p>Is peak memory usage measured by "max rss" in rustc-perf?</p>
</blockquote>
<p>yes</p>



<a name="227580006"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227580006" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227580006">(Feb 24 2021 at 10:50)</a>:</h4>
<p><span class="user-mention silent" data-user-id="255061">Léo Lanteri Thauvin</span> <a href="#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409/near/227579732">said</a>:</p>
<blockquote>
<p>I'm working on an implementation, so I'll try to make available for a perf run as soon as possible</p>
</blockquote>
<p>even better!</p>



<a name="227580023"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227580023" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227580023">(Feb 24 2021 at 10:50)</a>:</h4>
<p>let me add that to the FAQ</p>



<a name="227580043"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227580043" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227580043">(Feb 24 2021 at 10:50)</a>:</h4>
<p>also, I think that FAQ should just be a standard section for MCPs, that was fun to write</p>



<a name="227580044"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227580044" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> tm <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227580044">(Feb 24 2021 at 10:50)</a>:</h4>
<p>Is a peak memory usage a concern for THIR?  I would expect it to be negligible compared to memory usage of data flow analysis running on MIR.</p>



<a name="227580085"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227580085" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227580085">(Feb 24 2021 at 10:51)</a>:</h4>
<p>I am not convinced it's going to be relevant</p>



<a name="227580090"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227580090" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227580090">(Feb 24 2021 at 10:51)</a>:</h4>
<p>It is an unknown</p>



<a name="227582731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227582731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227582731">(Feb 24 2021 at 11:13)</a>:</h4>
<p>Let's move detailed discussion to <a class="stream-topic" data-stream-id="278509" href="/#narrow/stream/278509-project-thir-unsafeck/topic/eager.20THIR.20construction">#project-thir-unsafeck &gt; eager THIR construction</a></p>



<a name="227582753"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227582753" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227582753">(Feb 24 2021 at 11:13)</a>:</h4>
<p>it'll be easier for me :)</p>



<a name="227582814"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227582814" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227582814">(Feb 24 2021 at 11:13)</a>:</h4>
<p>(that is, detailed discussion around the prototype and measurement, we can bring the results back to this topic for those who don't care to follow the grungy details)</p>



<a name="227583384"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227583384" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> oli <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227583384">(Feb 24 2021 at 11:18)</a>:</h4>
<p>Yea, I just wanted to bring up the discussion, I'm not too worried, especially since we have several paths forward here for improvements in the future.</p>
<p>If the THIR is consumed while being converted to MIR we may not even have an increase in peak memory usage at all as things are freed right when being converted to MIR</p>



<a name="227583690"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227583690" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227583690">(Feb 24 2021 at 11:20)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="492">@T-compiler</span>: Proposal <a href="https://github.com/rust-lang/compiler-team/issues/409#issuecomment-785007009">#409</a> has been seconded, and will be approved in 10 days if no objections are raised.</p>



<a name="227587101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227587101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> simulacrum <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227587101">(Feb 24 2021 at 11:57)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> you can just remove the label I think, we don't track in DB IIRC?</p>



<a name="227587177"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/227587177" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Léo Lanteri Thauvin <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#227587177">(Feb 24 2021 at 11:58)</a>:</h4>
<p>MCPs are accepted manually</p>



<a name="229190098"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/233931-t-compiler/major%20changes/topic/Eagerly%20construct%20bodies%20of%20THIR%20compiler-team%23409/near/229190098" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> triagebot <a href="https://rust-lang.github.io/zulip_archive/stream/233931-t-compiler/major-changes/topic/Eagerly.20construct.20bodies.20of.20THIR.20compiler-team.23409.html#229190098">(Mar 07 2021 at 14:06)</a>:</h4>
<p>This proposal has been accepted: <a href="https://github.com/rust-lang/compiler-team/issues/409">#409</a>.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>